//
//  LLMessageCellActionDelegate.h
//  LLWeChat
//
//  Created by GYJZH on 8/11/16.
//  Copyright © 2016 GYJZH. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "LLTextActionDelegate.h"
#import "DMMessageBaseModel.h"


@class DMMessageTextCell;
@class DMMessageBaseCell;
@class DMMessageTimeCell;

@protocol LLMessageCellActionDelegate <LLTextActionDelegate>

- (void)avatarImageDidTapped:(DMMessageBaseCell *)cell;

- (void)cellDidTapped:(DMMessageBaseCell *)cell;

- (void)textCellDidDoubleTapped:(DMMessageTextCell *)cell;

- (void)resendMessage:(DMMessageBaseModel *)model;

- (void)redownloadMessage:(DMMessageBaseModel *)model;

- (void)selectControllDidTapped:(DMMessageBaseModel *)model selected:(BOOL)selected;

#pragma mark - 菜单 -

- (void)willShowMenuForCell:(DMMessageBaseCell *)cell;

- (void)didShowMenuForCell:(DMMessageBaseCell *)cell;

- (void)willHideMenuForCell:(DMMessageBaseCell *)cell;

- (void)didHideMenuForCell:(DMMessageBaseCell *)cell;

//如果返回nil，则resign掉当前的FirstResponder，同时使得Cell为新的FirstResponder
//否则保留当前的FirstResponder，但需要当前FirstResponder负责Menu
- (UIResponder *)currentFirstResponderIfNeedRetain;

- (void)deleteMenuItemDidTapped:(DMMessageBaseCell *)cell;

- (void)moreMenuItemDidTapped:(DMMessageBaseCell *)cell;

@end
